home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / modelers / geomview / source.lha / Geomview / include / dgflag.h < prev    next >
C/C++ Source or Header  |  1993-02-18  |  2KB  |  61 lines

  1. /* Copyright (c) 1992 The Geometry Center; University of Minnesota
  2.    1300 South Second Street;  Minneapolis, MN  55454, USA;
  3.    
  4. This file is part of geomview/OOGL. geomview/OOGL is free software;
  5. you can redistribute it and/or modify it only under the terms given in
  6. the file COPYING, which you should have received along with this file.
  7. This and other related software may be obtained via anonymous ftp from
  8. geom.umn.edu; email: software@geom.umn.edu. */
  9.  
  10. /* Authors: Charlie Gunn, Stuart Levy, Tamara Munzner, Mark Phillips */
  11.  
  12. #ifndef DGFLAGDEFS
  13. #define DGFLAGDEFS
  14.  
  15. #define DG_HYPERBOLIC    1
  16. #define DG_EUCLIDEAN    2
  17. #define DG_SPHERICAL    4
  18. #define DG_FINITE    8
  19. #define DG_TRANSPOSED    16
  20.  
  21. #define DG_CONFORMALBALL    32
  22. #define DG_UPPERHALFSPACE    64
  23. #define DG_PROJECTIVEMODEL    128
  24. #define DG_NUM_ATTR    8    /* the above are the attributes */
  25.  
  26. #define DG_METRIC_BITS        (DG_HYPERBOLIC | DG_EUCLIDEAN | DG_SPHERICAL)
  27. #define DG_MODEL_BITS        (DG_CONFORMALBALL | DG_UPPERHALFSPACE | DG_PROJECTIVE)
  28.  
  29. /* for the matrix group entries */
  30. #define DG_GENERAL    0x000    /* general invertible group: default */
  31. #define DG_SPECIAL    0x100    /* determinant +/- 1 */
  32. #define DG_ORTHOGONAL    0x200    /* M.Transpose(M) = d.I */
  33. #define DG_PROJECTIVE    0x400    /* M.Transpose(M) = d.I */
  34. #define DG_REAL        0x000    /* default is real */
  35. #define DG_COMPLEX    0x800    /* default is real */
  36.  
  37. #define DG_TMP        0x10000
  38.  
  39. /* flag */
  40. #define DG_CENTERCAM    1
  41. #define DG_NEWDIRDOM    2    /* recompute dirdom */
  42. #define DG_DRAWDIRDOM    4
  43. #define DG_ZCULL    8    /* don't draw those behind the camera */
  44. #define DG_DRAWCAM    0x10        
  45. #define DG_DDBEAM    0x20    /* compute beamed dirichlet domain */
  46. #define DG_DDSLICE    0x40    /* slice off cusps in dirichlet domain */
  47. #define DG_DEBUG    0x100
  48. #define DG_SAVEBIGLIST    0x200    /* does DiscGrpSave write out the group elements? */
  49. #define DG_SAVEDIRDOM    0x400    /* does DiscGrpSave write out the dirichlet domain? */
  50. #define DG_DRAWGEOM    0x800    /* draw other geometry? */
  51. #define DG_NUM_DSPYATTR    4    /* zcull, cenercam, drawcam are externally settable */
  52.  
  53. /* constraint return values (only DG_CONSTRAINT_VALID is required) */
  54. #define DG_CONSTRAINT_PRINT    1
  55. #define DG_CONSTRAINT_TOOFAR    2
  56. #define DG_CONSTRAINT_STORE    4
  57. #define DG_CONSTRAINT_LONG    8
  58. #define DG_CONSTRAINT_NEW    16
  59. #define DG_CONSTRAINT_MAXLEN    32
  60. #endif /*DGFLAGDEFS*/
  61.